from django.db import migrations

def create_default_roles(apps, schema_editor):
    Role = apps.get_model('user', 'Role')
    
    # 创建超级管理员角色
    Role.objects.get_or_create(
        name='超级管理员',
        code='superadmin',
        description='系统超级管理员，拥有所有权限',
        permissions=['user_view', 'user_edit', 'user_delete', 'role_view', 'role_edit', 'role_delete', 'movie_view', 'movie_edit', 'movie_delete'],
        is_system=True
    )
    
    # 创建管理员角色
    Role.objects.get_or_create(
        name='管理员',
        code='admin',
        description='系统管理员，拥有大部分权限',
        permissions=['user_view', 'user_edit', 'role_view', 'movie_view', 'movie_edit'],
        is_system=True
    )
    
    # 创建普通用户角色
    Role.objects.get_or_create(
        name='普通用户',
        code='user',
        description='普通用户，拥有基本权限',
        permissions=['movie_view'],
        is_system=True
    )

def delete_default_roles(apps, schema_editor):
    Role = apps.get_model('user', 'Role')
    Role.objects.filter(is_system=True).delete()

class Migration(migrations.Migration):
    dependencies = [
        ('user', '0001_initial'),
    ]

    operations = [
        migrations.RunPython(create_default_roles, delete_default_roles),
    ] 